/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication2;

import java.io.IOException;
import java.io.Serializable;
import java.util.Scanner;

/**
 *
 * @author Bartek
 */
public class JavaApplication2 implements Serializable {

    public static void main(String[] args) throws IOException, ClassNotFoundException {
        
        Menu menu = new Menu();
        String plikstartowy="baza.dat";
        String nazwa=menu.importujStart();
        if(nazwa.compareTo("null")!=0){
            plikstartowy=nazwa;
        }
        String plik_eksportowany="";
        Kadry kadry = Kadry.wczytajZPliku(plikstartowy);
        
        int opcja_menu = 1;
        while (opcja_menu != 0) {
            opcja_menu = menu.menuGlowne();
            if (opcja_menu == 1) {
                kadry.wypiszPracownikowOkrojona();
            } else if (opcja_menu == 2) {
                kadry.dodajNowegoPracownika();
            } else if (opcja_menu == 3) {
                while (opcja_menu != 0) {
                    opcja_menu = menu.menuEksportImport();
                    Scanner in = new Scanner(System.in);
                    if (opcja_menu == 1) {
                        System.out.println("Podaj nazwe pliku:");
                        plik_eksportowany = in.next();
                        kadry.eksportDoPlikuTekstowego(plik_eksportowany);
                    } else if (opcja_menu == 2) {
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        kadry.importujZPlikuTekstowego(plik);
                    }
                }
                opcja_menu = 10;

            } else if (opcja_menu == 4) {
                kadry.usunPracownika();
            } else if (opcja_menu == 5) {
                kadry.edycjaPracownika();
            } else if (opcja_menu == 6) {

                while (opcja_menu != 0) {
                    opcja_menu = menu.dodatkoweFunkcje();
                    if (opcja_menu == 1) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        System.out.println("podaj granice pensji");
                        float pensja = in.nextFloat();
                        nowe.mniejszaPensja(pensja);

                    } else if (opcja_menu == 2) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        System.out.println("podaj nr działu");
                        int dzial = in.nextInt();
                        float srednia = nowe.sredniZarobek(dzial);
                        System.out.println(srednia);
                    } else if (opcja_menu == 3) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        nowe.maksymalnaPlaca();
                    } else if (opcja_menu == 4) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        int tab[] = nowe.dajDzialy();
                        for (int i = 0; i < tab.length; i++) {
                            System.out.format("dział: %s średnia płaca: %s  %s\n", tab[i], nowe.sredniZarobek(tab[i]), nowe.porownaniePlci(tab[i]));
                        }
                    } else if (opcja_menu == 5) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        nowe.sredniZarobek();
                    } else if (opcja_menu == 6) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        nowe.podniesPensje();
                        nowe.zapiszDoPliku(plik);
                    } else if (opcja_menu == 7) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        System.out.println("Proszę podać kwotę podwyżki");
                        float podwyzka = in.nextFloat();
                        float stosunek = nowe.podwyzkaZPorownaniem(podwyzka);
                        System.out.format("Stosunek wyników kobiet do mężczyzn : %.2f%%\n", stosunek);
                        nowe.zapiszDoPliku(plik);
                    }else if (opcja_menu == 8) {
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        boolean tryb=true;
                        System.out.println("Wpisz 0 by sortować od najmniejszego do największego");
                        System.out.println("Wpisz 1 by sortować od największego do najmniejszego");
                        int wartosc=in.nextInt();
                        if(wartosc==1){
                        tryb=false;}                       
                        nowe.sortowanieNazwisko(tryb);
                        nowe.zapiszDoPliku(plik);
                    }else if(opcja_menu ==9){
                        Scanner in = new Scanner(System.in);
                        System.out.println("Podaj nazwe pliku:");
                        String plik = in.next();
                        Kadry nowe = Kadry.wczytajZPliku(plik);
                        boolean tryb=true;
                        System.out.println("Wpisz 0 by sortować od najmniejszego do największego");
                        System.out.println("Wpisz 1 by sortować od największego do najmniejszego");
                        int wartosc=in.nextInt();
                        if(wartosc==1){
                        tryb=false;}                       
                        nowe.sortowaniePensja(tryb);
                        nowe.zapiszDoPliku(plik);
                    }

                }

                opcja_menu = 10;

            } else if (opcja_menu == 7) {
                Kadry nowe = new Kadry();
                nowe.importujZPlikuTekstowego(plik_eksportowany);
                while(opcja_menu!=0){
                opcja_menu=menu.dodatkoweFunkcjePliki();
                
                if(opcja_menu==1){
                    nowe.najdluzszeNazwiska(plik_eksportowany);
                }else if(opcja_menu==2){
                    nowe.sredniWiekOsobZDziecmi();
                }else if(opcja_menu==3){
                    nowe.Kodowanie();
                }else if(opcja_menu==4){
                    
                        nowe.tabelaHTML();
                }
                
                        
                }   
                    
                
            } else if (opcja_menu == 8) {
                while (opcja_menu != 0) {
                    opcja_menu = menu.infoOProgramie();
                }
                opcja_menu = 10;
            }else if (opcja_menu == 9) {
                menu.zmianaStart();
            }else if (opcja_menu == 0) {
                try {
                    kadry.zapiszDoPliku("baza.dat");
                } finally {
                    System.exit(0);
                }


            }
        }
    }
}
